/**
 */
package de.thwildau.tm.moses.thrift.thrift;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see de.thwildau.tm.moses.thrift.thrift.ThriftFactory
 * @model kind="package"
 * @generated
 */
public interface ThriftPackage extends EPackage
{
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "thrift";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "http://www.thwildau.de/tm/moses/thrift/Thrift";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "thrift";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  ThriftPackage eINSTANCE = de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl.init();

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ThriftImpl <em>Thrift</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getThrift()
   * @generated
   */
  int THRIFT = 0;

  /**
   * The feature id for the '<em><b>Headers</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int THRIFT__HEADERS = 0;

  /**
   * The feature id for the '<em><b>Definitions</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int THRIFT__DEFINITIONS = 1;

  /**
   * The number of structural features of the '<em>Thrift</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int THRIFT_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.HeaderImpl <em>Header</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.HeaderImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getHeader()
   * @generated
   */
  int HEADER = 1;

  /**
   * The number of structural features of the '<em>Header</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int HEADER_FEATURE_COUNT = 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.IncludeImpl <em>Include</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.IncludeImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getInclude()
   * @generated
   */
  int INCLUDE = 2;

  /**
   * The feature id for the '<em><b>Import URI</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INCLUDE__IMPORT_URI = HEADER_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Include</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INCLUDE_FEATURE_COUNT = HEADER_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.CppIncludeImpl <em>Cpp Include</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.CppIncludeImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getCppInclude()
   * @generated
   */
  int CPP_INCLUDE = 3;

  /**
   * The feature id for the '<em><b>Import URI</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CPP_INCLUDE__IMPORT_URI = HEADER_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Cpp Include</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CPP_INCLUDE_FEATURE_COUNT = HEADER_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.NamespaceImpl <em>Namespace</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.NamespaceImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getNamespace()
   * @generated
   */
  int NAMESPACE = 4;

  /**
   * The feature id for the '<em><b>Namespace Scope</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NAMESPACE__NAMESPACE_SCOPE = HEADER_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Namespace URI</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NAMESPACE__NAMESPACE_URI = HEADER_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Namespace</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NAMESPACE_FEATURE_COUNT = HEADER_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.DefinitionImpl <em>Definition</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.DefinitionImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getDefinition()
   * @generated
   */
  int DEFINITION = 5;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DEFINITION__NAME = 0;

  /**
   * The number of structural features of the '<em>Definition</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DEFINITION_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ConstImpl <em>Const</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ConstImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getConst()
   * @generated
   */
  int CONST = 6;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST__NAME = DEFINITION__NAME;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST__TYPE = DEFINITION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Value</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST__VALUE = DEFINITION_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Const</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST_FEATURE_COUNT = DEFINITION_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.TypeDefImpl <em>Type Def</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.TypeDefImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getTypeDef()
   * @generated
   */
  int TYPE_DEF = 7;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TYPE_DEF__NAME = DEFINITION__NAME;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TYPE_DEF__TYPE = DEFINITION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Annotation</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TYPE_DEF__ANNOTATION = DEFINITION_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Type Def</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TYPE_DEF_FEATURE_COUNT = DEFINITION_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.AnnotationImpl <em>Annotation</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.AnnotationImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getAnnotation()
   * @generated
   */
  int ANNOTATION = 8;

  /**
   * The feature id for the '<em><b>Elements</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ANNOTATION__ELEMENTS = 0;

  /**
   * The number of structural features of the '<em>Annotation</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ANNOTATION_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.AnnotationElementImpl <em>Annotation Element</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.AnnotationElementImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getAnnotationElement()
   * @generated
   */
  int ANNOTATION_ELEMENT = 9;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ANNOTATION_ELEMENT__NAME = 0;

  /**
   * The feature id for the '<em><b>Value</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ANNOTATION_ELEMENT__VALUE = 1;

  /**
   * The number of structural features of the '<em>Annotation Element</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ANNOTATION_ELEMENT_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.EnumImpl <em>Enum</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.EnumImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getEnum()
   * @generated
   */
  int ENUM = 10;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENUM__NAME = DEFINITION__NAME;

  /**
   * The feature id for the '<em><b>Elements</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENUM__ELEMENTS = DEFINITION_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Enum</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENUM_FEATURE_COUNT = DEFINITION_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.EnumElementImpl <em>Enum Element</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.EnumElementImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getEnumElement()
   * @generated
   */
  int ENUM_ELEMENT = 11;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENUM_ELEMENT__NAME = 0;

  /**
   * The feature id for the '<em><b>Value</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENUM_ELEMENT__VALUE = 1;

  /**
   * The number of structural features of the '<em>Enum Element</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENUM_ELEMENT_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.SenumImpl <em>Senum</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.SenumImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getSenum()
   * @generated
   */
  int SENUM = 12;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SENUM__NAME = DEFINITION__NAME;

  /**
   * The feature id for the '<em><b>Elements</b></em>' attribute list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SENUM__ELEMENTS = DEFINITION_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Senum</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SENUM_FEATURE_COUNT = DEFINITION_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.StructImpl <em>Struct</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.StructImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getStruct()
   * @generated
   */
  int STRUCT = 13;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int STRUCT__NAME = DEFINITION__NAME;

  /**
   * The feature id for the '<em><b>Fields</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int STRUCT__FIELDS = DEFINITION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Annotation</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int STRUCT__ANNOTATION = DEFINITION_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Struct</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int STRUCT_FEATURE_COUNT = DEFINITION_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.UnionImpl <em>Union</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.UnionImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getUnion()
   * @generated
   */
  int UNION = 14;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int UNION__NAME = DEFINITION__NAME;

  /**
   * The feature id for the '<em><b>Fields</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int UNION__FIELDS = DEFINITION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Annotation</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int UNION__ANNOTATION = DEFINITION_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Union</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int UNION_FEATURE_COUNT = DEFINITION_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ExceptionImpl <em>Exception</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ExceptionImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getException()
   * @generated
   */
  int EXCEPTION = 15;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EXCEPTION__NAME = DEFINITION__NAME;

  /**
   * The feature id for the '<em><b>Fields</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EXCEPTION__FIELDS = DEFINITION_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Exception</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EXCEPTION_FEATURE_COUNT = DEFINITION_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ServiceImpl <em>Service</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ServiceImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getService()
   * @generated
   */
  int SERVICE = 16;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SERVICE__NAME = DEFINITION__NAME;

  /**
   * The feature id for the '<em><b>Super Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SERVICE__SUPER_TYPE = DEFINITION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Functions</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SERVICE__FUNCTIONS = DEFINITION_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Service</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SERVICE_FEATURE_COUNT = DEFINITION_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ServiceRefImpl <em>Service Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ServiceRefImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getServiceRef()
   * @generated
   */
  int SERVICE_REF = 17;

  /**
   * The feature id for the '<em><b>Service</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SERVICE_REF__SERVICE = 0;

  /**
   * The number of structural features of the '<em>Service Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SERVICE_REF_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.FieldImpl <em>Field</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.FieldImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getField()
   * @generated
   */
  int FIELD = 18;

  /**
   * The feature id for the '<em><b>Field Id</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD__FIELD_ID = 0;

  /**
   * The feature id for the '<em><b>Field Req</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD__FIELD_REQ = 1;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD__TYPE = 2;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD__NAME = 3;

  /**
   * The feature id for the '<em><b>Value</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD__VALUE = 4;

  /**
   * The feature id for the '<em><b>Annotation</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD__ANNOTATION = 5;

  /**
   * The feature id for the '<em><b>Fields</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD__FIELDS = 6;

  /**
   * The number of structural features of the '<em>Field</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD_FEATURE_COUNT = 7;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.FunctionImpl <em>Function</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.FunctionImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getFunction()
   * @generated
   */
  int FUNCTION = 19;

  /**
   * The feature id for the '<em><b>Function Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FUNCTION__FUNCTION_TYPE = 0;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FUNCTION__NAME = 1;

  /**
   * The feature id for the '<em><b>Fields</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FUNCTION__FIELDS = 2;

  /**
   * The feature id for the '<em><b>Throws Decl</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FUNCTION__THROWS_DECL = 3;

  /**
   * The number of structural features of the '<em>Function</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FUNCTION_FEATURE_COUNT = 4;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.FunctionTypeImpl <em>Function Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.FunctionTypeImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getFunctionType()
   * @generated
   */
  int FUNCTION_TYPE = 20;

  /**
   * The feature id for the '<em><b>Oneway</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FUNCTION_TYPE__ONEWAY = 0;

  /**
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FUNCTION_TYPE__TYPE = 1;

  /**
   * The number of structural features of the '<em>Function Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FUNCTION_TYPE_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ThrowsImpl <em>Throws</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThrowsImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getThrows()
   * @generated
   */
  int THROWS = 21;

  /**
   * The feature id for the '<em><b>Fields</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int THROWS__FIELDS = 0;

  /**
   * The number of structural features of the '<em>Throws</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int THROWS_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ThrowsFieldImpl <em>Throws Field</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThrowsFieldImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getThrowsField()
   * @generated
   */
  int THROWS_FIELD = 22;

  /**
   * The feature id for the '<em><b>Field Id</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int THROWS_FIELD__FIELD_ID = 0;

  /**
   * The feature id for the '<em><b>Type</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int THROWS_FIELD__TYPE = 1;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int THROWS_FIELD__NAME = 2;

  /**
   * The number of structural features of the '<em>Throws Field</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int THROWS_FIELD_FEATURE_COUNT = 3;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.FieldTypeImpl <em>Field Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.FieldTypeImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getFieldType()
   * @generated
   */
  int FIELD_TYPE = 23;

  /**
   * The feature id for the '<em><b>Oneway</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD_TYPE__ONEWAY = FUNCTION_TYPE__ONEWAY;

  /**
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD_TYPE__TYPE = FUNCTION_TYPE__TYPE;

  /**
   * The number of structural features of the '<em>Field Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD_TYPE_FEATURE_COUNT = FUNCTION_TYPE_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.DefinitionTypeImpl <em>Definition Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.DefinitionTypeImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getDefinitionType()
   * @generated
   */
  int DEFINITION_TYPE = 24;

  /**
   * The number of structural features of the '<em>Definition Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DEFINITION_TYPE_FEATURE_COUNT = 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ContainerTypeImpl <em>Container Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ContainerTypeImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getContainerType()
   * @generated
   */
  int CONTAINER_TYPE = 25;

  /**
   * The feature id for the '<em><b>Cpp Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONTAINER_TYPE__CPP_TYPE = 0;

  /**
   * The number of structural features of the '<em>Container Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONTAINER_TYPE_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.MapTypeImpl <em>Map Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.MapTypeImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getMapType()
   * @generated
   */
  int MAP_TYPE = 26;

  /**
   * The feature id for the '<em><b>Cpp Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MAP_TYPE__CPP_TYPE = CONTAINER_TYPE__CPP_TYPE;

  /**
   * The feature id for the '<em><b>Map Type1</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MAP_TYPE__MAP_TYPE1 = CONTAINER_TYPE_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Map Type1 Annotation</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MAP_TYPE__MAP_TYPE1_ANNOTATION = CONTAINER_TYPE_FEATURE_COUNT + 1;

  /**
   * The feature id for the '<em><b>Map Type2</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MAP_TYPE__MAP_TYPE2 = CONTAINER_TYPE_FEATURE_COUNT + 2;

  /**
   * The feature id for the '<em><b>Map Type2 Annotation</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MAP_TYPE__MAP_TYPE2_ANNOTATION = CONTAINER_TYPE_FEATURE_COUNT + 3;

  /**
   * The number of structural features of the '<em>Map Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MAP_TYPE_FEATURE_COUNT = CONTAINER_TYPE_FEATURE_COUNT + 4;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.SetTypeImpl <em>Set Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.SetTypeImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getSetType()
   * @generated
   */
  int SET_TYPE = 27;

  /**
   * The feature id for the '<em><b>Cpp Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SET_TYPE__CPP_TYPE = CONTAINER_TYPE__CPP_TYPE;

  /**
   * The feature id for the '<em><b>Set Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SET_TYPE__SET_TYPE = CONTAINER_TYPE_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Set Type Annotation</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SET_TYPE__SET_TYPE_ANNOTATION = CONTAINER_TYPE_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Set Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SET_TYPE_FEATURE_COUNT = CONTAINER_TYPE_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ListTypeImpl <em>List Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ListTypeImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getListType()
   * @generated
   */
  int LIST_TYPE = 28;

  /**
   * The feature id for the '<em><b>Cpp Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LIST_TYPE__CPP_TYPE = CONTAINER_TYPE__CPP_TYPE;

  /**
   * The feature id for the '<em><b>List Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LIST_TYPE__LIST_TYPE = CONTAINER_TYPE_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>List Type Annotation</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LIST_TYPE__LIST_TYPE_ANNOTATION = CONTAINER_TYPE_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>List Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LIST_TYPE_FEATURE_COUNT = CONTAINER_TYPE_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.BaseTypeRefImpl <em>Base Type Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.BaseTypeRefImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getBaseTypeRef()
   * @generated
   */
  int BASE_TYPE_REF = 29;

  /**
   * The feature id for the '<em><b>Oneway</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BASE_TYPE_REF__ONEWAY = FIELD_TYPE__ONEWAY;

  /**
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BASE_TYPE_REF__TYPE = FIELD_TYPE__TYPE;

  /**
   * The feature id for the '<em><b>Basic Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BASE_TYPE_REF__BASIC_TYPE = FIELD_TYPE_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Base Type Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BASE_TYPE_REF_FEATURE_COUNT = FIELD_TYPE_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ContainerTypeRefImpl <em>Container Type Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ContainerTypeRefImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getContainerTypeRef()
   * @generated
   */
  int CONTAINER_TYPE_REF = 30;

  /**
   * The feature id for the '<em><b>Oneway</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONTAINER_TYPE_REF__ONEWAY = FIELD_TYPE__ONEWAY;

  /**
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONTAINER_TYPE_REF__TYPE = FIELD_TYPE__TYPE;

  /**
   * The feature id for the '<em><b>Container Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONTAINER_TYPE_REF__CONTAINER_TYPE = FIELD_TYPE_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Container Type Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONTAINER_TYPE_REF_FEATURE_COUNT = FIELD_TYPE_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.DefinitionRefImpl <em>Definition Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.DefinitionRefImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getDefinitionRef()
   * @generated
   */
  int DEFINITION_REF = 31;

  /**
   * The feature id for the '<em><b>Oneway</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DEFINITION_REF__ONEWAY = FIELD_TYPE__ONEWAY;

  /**
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DEFINITION_REF__TYPE = FIELD_TYPE__TYPE;

  /**
   * The feature id for the '<em><b>Definition</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DEFINITION_REF__DEFINITION = FIELD_TYPE_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Definition Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DEFINITION_REF_FEATURE_COUNT = FIELD_TYPE_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ConstValueImpl <em>Const Value</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ConstValueImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getConstValue()
   * @generated
   */
  int CONST_VALUE = 32;

  /**
   * The number of structural features of the '<em>Const Value</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST_VALUE_FEATURE_COUNT = 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.NumberRefImpl <em>Number Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.NumberRefImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getNumberRef()
   * @generated
   */
  int NUMBER_REF = 33;

  /**
   * The number of structural features of the '<em>Number Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NUMBER_REF_FEATURE_COUNT = CONST_VALUE_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.HexRefImpl <em>Hex Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.HexRefImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getHexRef()
   * @generated
   */
  int HEX_REF = 34;

  /**
   * The feature id for the '<em><b>Hex</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int HEX_REF__HEX = NUMBER_REF_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Hex Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int HEX_REF_FEATURE_COUNT = NUMBER_REF_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.LongRefImpl <em>Long Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.LongRefImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getLongRef()
   * @generated
   */
  int LONG_REF = 35;

  /**
   * The feature id for the '<em><b>Long</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LONG_REF__LONG = NUMBER_REF_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Long Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LONG_REF_FEATURE_COUNT = NUMBER_REF_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.DoubleRefImpl <em>Double Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.DoubleRefImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getDoubleRef()
   * @generated
   */
  int DOUBLE_REF = 36;

  /**
   * The feature id for the '<em><b>Double</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DOUBLE_REF__DOUBLE = NUMBER_REF_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Double Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DOUBLE_REF_FEATURE_COUNT = NUMBER_REF_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.BooleanRefImpl <em>Boolean Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.BooleanRefImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getBooleanRef()
   * @generated
   */
  int BOOLEAN_REF = 37;

  /**
   * The feature id for the '<em><b>Boolean</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BOOLEAN_REF__BOOLEAN = CONST_VALUE_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Boolean Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BOOLEAN_REF_FEATURE_COUNT = CONST_VALUE_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.StringRefImpl <em>String Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.StringRefImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getStringRef()
   * @generated
   */
  int STRING_REF = 38;

  /**
   * The feature id for the '<em><b>String</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int STRING_REF__STRING = CONST_VALUE_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>String Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int STRING_REF_FEATURE_COUNT = CONST_VALUE_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ConstListImpl <em>Const List</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ConstListImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getConstList()
   * @generated
   */
  int CONST_LIST = 39;

  /**
   * The feature id for the '<em><b>Value</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST_LIST__VALUE = CONST_VALUE_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>List</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST_LIST__LIST = CONST_VALUE_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Const List</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST_LIST_FEATURE_COUNT = CONST_VALUE_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ConstMapImpl <em>Const Map</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ConstMapImpl
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getConstMap()
   * @generated
   */
  int CONST_MAP = 40;

  /**
   * The feature id for the '<em><b>Value</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST_MAP__VALUE = CONST_VALUE_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>V1</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST_MAP__V1 = CONST_VALUE_FEATURE_COUNT + 1;

  /**
   * The feature id for the '<em><b>V2</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST_MAP__V2 = CONST_VALUE_FEATURE_COUNT + 2;

  /**
   * The number of structural features of the '<em>Const Map</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST_MAP_FEATURE_COUNT = CONST_VALUE_FEATURE_COUNT + 3;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.BaseType <em>Base Type</em>}' enum.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.BaseType
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getBaseType()
   * @generated
   */
  int BASE_TYPE = 41;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.thrift.thrift.BOOL <em>BOOL</em>}' enum.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.thrift.thrift.BOOL
   * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getBOOL()
   * @generated
   */
  int BOOL = 42;


  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Thrift <em>Thrift</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Thrift</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Thrift
   * @generated
   */
  EClass getThrift();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.Thrift#getHeaders <em>Headers</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Headers</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Thrift#getHeaders()
   * @see #getThrift()
   * @generated
   */
  EReference getThrift_Headers();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.Thrift#getDefinitions <em>Definitions</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Definitions</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Thrift#getDefinitions()
   * @see #getThrift()
   * @generated
   */
  EReference getThrift_Definitions();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Header <em>Header</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Header</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Header
   * @generated
   */
  EClass getHeader();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Include <em>Include</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Include</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Include
   * @generated
   */
  EClass getInclude();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.Include#getImportURI <em>Import URI</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Import URI</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Include#getImportURI()
   * @see #getInclude()
   * @generated
   */
  EAttribute getInclude_ImportURI();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.CppInclude <em>Cpp Include</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Cpp Include</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.CppInclude
   * @generated
   */
  EClass getCppInclude();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.CppInclude#getImportURI <em>Import URI</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Import URI</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.CppInclude#getImportURI()
   * @see #getCppInclude()
   * @generated
   */
  EAttribute getCppInclude_ImportURI();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Namespace <em>Namespace</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Namespace</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Namespace
   * @generated
   */
  EClass getNamespace();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.Namespace#getNamespaceScope <em>Namespace Scope</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Namespace Scope</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Namespace#getNamespaceScope()
   * @see #getNamespace()
   * @generated
   */
  EAttribute getNamespace_NamespaceScope();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.Namespace#getNamespaceURI <em>Namespace URI</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Namespace URI</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Namespace#getNamespaceURI()
   * @see #getNamespace()
   * @generated
   */
  EAttribute getNamespace_NamespaceURI();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Definition <em>Definition</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Definition</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Definition
   * @generated
   */
  EClass getDefinition();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.Definition#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Definition#getName()
   * @see #getDefinition()
   * @generated
   */
  EAttribute getDefinition_Name();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Const <em>Const</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Const</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Const
   * @generated
   */
  EClass getConst();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.Const#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Const#getType()
   * @see #getConst()
   * @generated
   */
  EReference getConst_Type();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.Const#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Value</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Const#getValue()
   * @see #getConst()
   * @generated
   */
  EReference getConst_Value();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.TypeDef <em>Type Def</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Type Def</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.TypeDef
   * @generated
   */
  EClass getTypeDef();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.TypeDef#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.TypeDef#getType()
   * @see #getTypeDef()
   * @generated
   */
  EReference getTypeDef_Type();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.TypeDef#getAnnotation <em>Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Annotation</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.TypeDef#getAnnotation()
   * @see #getTypeDef()
   * @generated
   */
  EReference getTypeDef_Annotation();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Annotation <em>Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Annotation</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Annotation
   * @generated
   */
  EClass getAnnotation();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.Annotation#getElements <em>Elements</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Elements</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Annotation#getElements()
   * @see #getAnnotation()
   * @generated
   */
  EReference getAnnotation_Elements();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.AnnotationElement <em>Annotation Element</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Annotation Element</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.AnnotationElement
   * @generated
   */
  EClass getAnnotationElement();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.AnnotationElement#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.AnnotationElement#getName()
   * @see #getAnnotationElement()
   * @generated
   */
  EAttribute getAnnotationElement_Name();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.AnnotationElement#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Value</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.AnnotationElement#getValue()
   * @see #getAnnotationElement()
   * @generated
   */
  EAttribute getAnnotationElement_Value();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Enum <em>Enum</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Enum</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Enum
   * @generated
   */
  EClass getEnum();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.Enum#getElements <em>Elements</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Elements</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Enum#getElements()
   * @see #getEnum()
   * @generated
   */
  EReference getEnum_Elements();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.EnumElement <em>Enum Element</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Enum Element</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.EnumElement
   * @generated
   */
  EClass getEnumElement();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.EnumElement#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.EnumElement#getName()
   * @see #getEnumElement()
   * @generated
   */
  EAttribute getEnumElement_Name();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.EnumElement#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Value</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.EnumElement#getValue()
   * @see #getEnumElement()
   * @generated
   */
  EAttribute getEnumElement_Value();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Senum <em>Senum</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Senum</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Senum
   * @generated
   */
  EClass getSenum();

  /**
   * Returns the meta object for the attribute list '{@link de.thwildau.tm.moses.thrift.thrift.Senum#getElements <em>Elements</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute list '<em>Elements</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Senum#getElements()
   * @see #getSenum()
   * @generated
   */
  EAttribute getSenum_Elements();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Struct <em>Struct</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Struct</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Struct
   * @generated
   */
  EClass getStruct();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.Struct#getFields <em>Fields</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Fields</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Struct#getFields()
   * @see #getStruct()
   * @generated
   */
  EReference getStruct_Fields();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.Struct#getAnnotation <em>Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Annotation</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Struct#getAnnotation()
   * @see #getStruct()
   * @generated
   */
  EReference getStruct_Annotation();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Union <em>Union</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Union</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Union
   * @generated
   */
  EClass getUnion();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.Union#getFields <em>Fields</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Fields</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Union#getFields()
   * @see #getUnion()
   * @generated
   */
  EReference getUnion_Fields();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.Union#getAnnotation <em>Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Annotation</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Union#getAnnotation()
   * @see #getUnion()
   * @generated
   */
  EReference getUnion_Annotation();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Exception <em>Exception</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Exception</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Exception
   * @generated
   */
  EClass getException();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.Exception#getFields <em>Fields</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Fields</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Exception#getFields()
   * @see #getException()
   * @generated
   */
  EReference getException_Fields();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Service <em>Service</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Service</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Service
   * @generated
   */
  EClass getService();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.Service#getSuperType <em>Super Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Super Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Service#getSuperType()
   * @see #getService()
   * @generated
   */
  EReference getService_SuperType();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.Service#getFunctions <em>Functions</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Functions</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Service#getFunctions()
   * @see #getService()
   * @generated
   */
  EReference getService_Functions();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.ServiceRef <em>Service Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Service Ref</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ServiceRef
   * @generated
   */
  EClass getServiceRef();

  /**
   * Returns the meta object for the reference '{@link de.thwildau.tm.moses.thrift.thrift.ServiceRef#getService <em>Service</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Service</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ServiceRef#getService()
   * @see #getServiceRef()
   * @generated
   */
  EReference getServiceRef_Service();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Field <em>Field</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Field</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Field
   * @generated
   */
  EClass getField();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.Field#getFieldId <em>Field Id</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Field Id</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Field#getFieldId()
   * @see #getField()
   * @generated
   */
  EAttribute getField_FieldId();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.Field#getFieldReq <em>Field Req</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Field Req</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Field#getFieldReq()
   * @see #getField()
   * @generated
   */
  EAttribute getField_FieldReq();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.Field#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Field#getType()
   * @see #getField()
   * @generated
   */
  EReference getField_Type();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.Field#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Field#getName()
   * @see #getField()
   * @generated
   */
  EAttribute getField_Name();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.Field#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Value</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Field#getValue()
   * @see #getField()
   * @generated
   */
  EReference getField_Value();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.Field#getAnnotation <em>Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Annotation</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Field#getAnnotation()
   * @see #getField()
   * @generated
   */
  EReference getField_Annotation();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.Field#getFields <em>Fields</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Fields</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Field#getFields()
   * @see #getField()
   * @generated
   */
  EReference getField_Fields();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Function <em>Function</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Function</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Function
   * @generated
   */
  EClass getFunction();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.Function#getFunctionType <em>Function Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Function Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Function#getFunctionType()
   * @see #getFunction()
   * @generated
   */
  EReference getFunction_FunctionType();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.Function#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Function#getName()
   * @see #getFunction()
   * @generated
   */
  EAttribute getFunction_Name();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.Function#getFields <em>Fields</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Fields</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Function#getFields()
   * @see #getFunction()
   * @generated
   */
  EReference getFunction_Fields();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.Function#getThrowsDecl <em>Throws Decl</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Throws Decl</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Function#getThrowsDecl()
   * @see #getFunction()
   * @generated
   */
  EReference getFunction_ThrowsDecl();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.FunctionType <em>Function Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Function Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.FunctionType
   * @generated
   */
  EClass getFunctionType();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.FunctionType#getOneway <em>Oneway</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Oneway</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.FunctionType#getOneway()
   * @see #getFunctionType()
   * @generated
   */
  EAttribute getFunctionType_Oneway();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.FunctionType#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.FunctionType#getType()
   * @see #getFunctionType()
   * @generated
   */
  EAttribute getFunctionType_Type();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.Throws <em>Throws</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Throws</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Throws
   * @generated
   */
  EClass getThrows();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.Throws#getFields <em>Fields</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Fields</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.Throws#getFields()
   * @see #getThrows()
   * @generated
   */
  EReference getThrows_Fields();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.ThrowsField <em>Throws Field</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Throws Field</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ThrowsField
   * @generated
   */
  EClass getThrowsField();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.ThrowsField#getFieldId <em>Field Id</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Field Id</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ThrowsField#getFieldId()
   * @see #getThrowsField()
   * @generated
   */
  EAttribute getThrowsField_FieldId();

  /**
   * Returns the meta object for the reference '{@link de.thwildau.tm.moses.thrift.thrift.ThrowsField#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ThrowsField#getType()
   * @see #getThrowsField()
   * @generated
   */
  EReference getThrowsField_Type();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.ThrowsField#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ThrowsField#getName()
   * @see #getThrowsField()
   * @generated
   */
  EAttribute getThrowsField_Name();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.FieldType <em>Field Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Field Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.FieldType
   * @generated
   */
  EClass getFieldType();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.DefinitionType <em>Definition Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Definition Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.DefinitionType
   * @generated
   */
  EClass getDefinitionType();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.ContainerType <em>Container Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Container Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ContainerType
   * @generated
   */
  EClass getContainerType();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.ContainerType#getCppType <em>Cpp Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Cpp Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ContainerType#getCppType()
   * @see #getContainerType()
   * @generated
   */
  EAttribute getContainerType_CppType();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.MapType <em>Map Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Map Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.MapType
   * @generated
   */
  EClass getMapType();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.MapType#getMapType1 <em>Map Type1</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Map Type1</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.MapType#getMapType1()
   * @see #getMapType()
   * @generated
   */
  EReference getMapType_MapType1();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.MapType#getMapType1Annotation <em>Map Type1 Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Map Type1 Annotation</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.MapType#getMapType1Annotation()
   * @see #getMapType()
   * @generated
   */
  EReference getMapType_MapType1Annotation();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.MapType#getMapType2 <em>Map Type2</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Map Type2</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.MapType#getMapType2()
   * @see #getMapType()
   * @generated
   */
  EReference getMapType_MapType2();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.MapType#getMapType2Annotation <em>Map Type2 Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Map Type2 Annotation</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.MapType#getMapType2Annotation()
   * @see #getMapType()
   * @generated
   */
  EReference getMapType_MapType2Annotation();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.SetType <em>Set Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Set Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.SetType
   * @generated
   */
  EClass getSetType();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.SetType#getSetType <em>Set Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Set Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.SetType#getSetType()
   * @see #getSetType()
   * @generated
   */
  EReference getSetType_SetType();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.SetType#getSetTypeAnnotation <em>Set Type Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Set Type Annotation</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.SetType#getSetTypeAnnotation()
   * @see #getSetType()
   * @generated
   */
  EReference getSetType_SetTypeAnnotation();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.ListType <em>List Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>List Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ListType
   * @generated
   */
  EClass getListType();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.ListType#getListType <em>List Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>List Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ListType#getListType()
   * @see #getListType()
   * @generated
   */
  EReference getListType_ListType();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.ListType#getListTypeAnnotation <em>List Type Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>List Type Annotation</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ListType#getListTypeAnnotation()
   * @see #getListType()
   * @generated
   */
  EReference getListType_ListTypeAnnotation();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.BaseTypeRef <em>Base Type Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Base Type Ref</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.BaseTypeRef
   * @generated
   */
  EClass getBaseTypeRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.BaseTypeRef#getBasicType <em>Basic Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Basic Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.BaseTypeRef#getBasicType()
   * @see #getBaseTypeRef()
   * @generated
   */
  EAttribute getBaseTypeRef_BasicType();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.ContainerTypeRef <em>Container Type Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Container Type Ref</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ContainerTypeRef
   * @generated
   */
  EClass getContainerTypeRef();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.thrift.thrift.ContainerTypeRef#getContainerType <em>Container Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Container Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ContainerTypeRef#getContainerType()
   * @see #getContainerTypeRef()
   * @generated
   */
  EReference getContainerTypeRef_ContainerType();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.DefinitionRef <em>Definition Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Definition Ref</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.DefinitionRef
   * @generated
   */
  EClass getDefinitionRef();

  /**
   * Returns the meta object for the reference '{@link de.thwildau.tm.moses.thrift.thrift.DefinitionRef#getDefinition <em>Definition</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Definition</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.DefinitionRef#getDefinition()
   * @see #getDefinitionRef()
   * @generated
   */
  EReference getDefinitionRef_Definition();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.ConstValue <em>Const Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Const Value</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ConstValue
   * @generated
   */
  EClass getConstValue();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.NumberRef <em>Number Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Number Ref</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.NumberRef
   * @generated
   */
  EClass getNumberRef();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.HexRef <em>Hex Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Hex Ref</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.HexRef
   * @generated
   */
  EClass getHexRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.HexRef#getHex <em>Hex</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Hex</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.HexRef#getHex()
   * @see #getHexRef()
   * @generated
   */
  EAttribute getHexRef_Hex();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.LongRef <em>Long Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Long Ref</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.LongRef
   * @generated
   */
  EClass getLongRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.LongRef#getLong <em>Long</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Long</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.LongRef#getLong()
   * @see #getLongRef()
   * @generated
   */
  EAttribute getLongRef_Long();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.DoubleRef <em>Double Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Double Ref</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.DoubleRef
   * @generated
   */
  EClass getDoubleRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.DoubleRef#getDouble <em>Double</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Double</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.DoubleRef#getDouble()
   * @see #getDoubleRef()
   * @generated
   */
  EAttribute getDoubleRef_Double();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.BooleanRef <em>Boolean Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Boolean Ref</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.BooleanRef
   * @generated
   */
  EClass getBooleanRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.BooleanRef#getBoolean <em>Boolean</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Boolean</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.BooleanRef#getBoolean()
   * @see #getBooleanRef()
   * @generated
   */
  EAttribute getBooleanRef_Boolean();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.StringRef <em>String Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>String Ref</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.StringRef
   * @generated
   */
  EClass getStringRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.StringRef#getString <em>String</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>String</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.StringRef#getString()
   * @see #getStringRef()
   * @generated
   */
  EAttribute getStringRef_String();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.ConstList <em>Const List</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Const List</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ConstList
   * @generated
   */
  EClass getConstList();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.ConstList#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Value</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ConstList#getValue()
   * @see #getConstList()
   * @generated
   */
  EAttribute getConstList_Value();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.ConstList#getList <em>List</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>List</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ConstList#getList()
   * @see #getConstList()
   * @generated
   */
  EReference getConstList_List();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.thrift.thrift.ConstMap <em>Const Map</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Const Map</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ConstMap
   * @generated
   */
  EClass getConstMap();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.thrift.thrift.ConstMap#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Value</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ConstMap#getValue()
   * @see #getConstMap()
   * @generated
   */
  EAttribute getConstMap_Value();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.ConstMap#getV1 <em>V1</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>V1</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ConstMap#getV1()
   * @see #getConstMap()
   * @generated
   */
  EReference getConstMap_V1();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.thrift.thrift.ConstMap#getV2 <em>V2</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>V2</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.ConstMap#getV2()
   * @see #getConstMap()
   * @generated
   */
  EReference getConstMap_V2();

  /**
   * Returns the meta object for enum '{@link de.thwildau.tm.moses.thrift.thrift.BaseType <em>Base Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for enum '<em>Base Type</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.BaseType
   * @generated
   */
  EEnum getBaseType();

  /**
   * Returns the meta object for enum '{@link de.thwildau.tm.moses.thrift.thrift.BOOL <em>BOOL</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for enum '<em>BOOL</em>'.
   * @see de.thwildau.tm.moses.thrift.thrift.BOOL
   * @generated
   */
  EEnum getBOOL();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  ThriftFactory getThriftFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals
  {
    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ThriftImpl <em>Thrift</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getThrift()
     * @generated
     */
    EClass THRIFT = eINSTANCE.getThrift();

    /**
     * The meta object literal for the '<em><b>Headers</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference THRIFT__HEADERS = eINSTANCE.getThrift_Headers();

    /**
     * The meta object literal for the '<em><b>Definitions</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference THRIFT__DEFINITIONS = eINSTANCE.getThrift_Definitions();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.HeaderImpl <em>Header</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.HeaderImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getHeader()
     * @generated
     */
    EClass HEADER = eINSTANCE.getHeader();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.IncludeImpl <em>Include</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.IncludeImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getInclude()
     * @generated
     */
    EClass INCLUDE = eINSTANCE.getInclude();

    /**
     * The meta object literal for the '<em><b>Import URI</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute INCLUDE__IMPORT_URI = eINSTANCE.getInclude_ImportURI();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.CppIncludeImpl <em>Cpp Include</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.CppIncludeImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getCppInclude()
     * @generated
     */
    EClass CPP_INCLUDE = eINSTANCE.getCppInclude();

    /**
     * The meta object literal for the '<em><b>Import URI</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute CPP_INCLUDE__IMPORT_URI = eINSTANCE.getCppInclude_ImportURI();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.NamespaceImpl <em>Namespace</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.NamespaceImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getNamespace()
     * @generated
     */
    EClass NAMESPACE = eINSTANCE.getNamespace();

    /**
     * The meta object literal for the '<em><b>Namespace Scope</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute NAMESPACE__NAMESPACE_SCOPE = eINSTANCE.getNamespace_NamespaceScope();

    /**
     * The meta object literal for the '<em><b>Namespace URI</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute NAMESPACE__NAMESPACE_URI = eINSTANCE.getNamespace_NamespaceURI();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.DefinitionImpl <em>Definition</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.DefinitionImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getDefinition()
     * @generated
     */
    EClass DEFINITION = eINSTANCE.getDefinition();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute DEFINITION__NAME = eINSTANCE.getDefinition_Name();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ConstImpl <em>Const</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ConstImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getConst()
     * @generated
     */
    EClass CONST = eINSTANCE.getConst();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference CONST__TYPE = eINSTANCE.getConst_Type();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference CONST__VALUE = eINSTANCE.getConst_Value();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.TypeDefImpl <em>Type Def</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.TypeDefImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getTypeDef()
     * @generated
     */
    EClass TYPE_DEF = eINSTANCE.getTypeDef();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference TYPE_DEF__TYPE = eINSTANCE.getTypeDef_Type();

    /**
     * The meta object literal for the '<em><b>Annotation</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference TYPE_DEF__ANNOTATION = eINSTANCE.getTypeDef_Annotation();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.AnnotationImpl <em>Annotation</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.AnnotationImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getAnnotation()
     * @generated
     */
    EClass ANNOTATION = eINSTANCE.getAnnotation();

    /**
     * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ANNOTATION__ELEMENTS = eINSTANCE.getAnnotation_Elements();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.AnnotationElementImpl <em>Annotation Element</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.AnnotationElementImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getAnnotationElement()
     * @generated
     */
    EClass ANNOTATION_ELEMENT = eINSTANCE.getAnnotationElement();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute ANNOTATION_ELEMENT__NAME = eINSTANCE.getAnnotationElement_Name();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute ANNOTATION_ELEMENT__VALUE = eINSTANCE.getAnnotationElement_Value();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.EnumImpl <em>Enum</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.EnumImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getEnum()
     * @generated
     */
    EClass ENUM = eINSTANCE.getEnum();

    /**
     * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ENUM__ELEMENTS = eINSTANCE.getEnum_Elements();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.EnumElementImpl <em>Enum Element</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.EnumElementImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getEnumElement()
     * @generated
     */
    EClass ENUM_ELEMENT = eINSTANCE.getEnumElement();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute ENUM_ELEMENT__NAME = eINSTANCE.getEnumElement_Name();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute ENUM_ELEMENT__VALUE = eINSTANCE.getEnumElement_Value();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.SenumImpl <em>Senum</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.SenumImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getSenum()
     * @generated
     */
    EClass SENUM = eINSTANCE.getSenum();

    /**
     * The meta object literal for the '<em><b>Elements</b></em>' attribute list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute SENUM__ELEMENTS = eINSTANCE.getSenum_Elements();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.StructImpl <em>Struct</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.StructImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getStruct()
     * @generated
     */
    EClass STRUCT = eINSTANCE.getStruct();

    /**
     * The meta object literal for the '<em><b>Fields</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference STRUCT__FIELDS = eINSTANCE.getStruct_Fields();

    /**
     * The meta object literal for the '<em><b>Annotation</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference STRUCT__ANNOTATION = eINSTANCE.getStruct_Annotation();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.UnionImpl <em>Union</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.UnionImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getUnion()
     * @generated
     */
    EClass UNION = eINSTANCE.getUnion();

    /**
     * The meta object literal for the '<em><b>Fields</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference UNION__FIELDS = eINSTANCE.getUnion_Fields();

    /**
     * The meta object literal for the '<em><b>Annotation</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference UNION__ANNOTATION = eINSTANCE.getUnion_Annotation();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ExceptionImpl <em>Exception</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ExceptionImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getException()
     * @generated
     */
    EClass EXCEPTION = eINSTANCE.getException();

    /**
     * The meta object literal for the '<em><b>Fields</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference EXCEPTION__FIELDS = eINSTANCE.getException_Fields();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ServiceImpl <em>Service</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ServiceImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getService()
     * @generated
     */
    EClass SERVICE = eINSTANCE.getService();

    /**
     * The meta object literal for the '<em><b>Super Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference SERVICE__SUPER_TYPE = eINSTANCE.getService_SuperType();

    /**
     * The meta object literal for the '<em><b>Functions</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference SERVICE__FUNCTIONS = eINSTANCE.getService_Functions();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ServiceRefImpl <em>Service Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ServiceRefImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getServiceRef()
     * @generated
     */
    EClass SERVICE_REF = eINSTANCE.getServiceRef();

    /**
     * The meta object literal for the '<em><b>Service</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference SERVICE_REF__SERVICE = eINSTANCE.getServiceRef_Service();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.FieldImpl <em>Field</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.FieldImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getField()
     * @generated
     */
    EClass FIELD = eINSTANCE.getField();

    /**
     * The meta object literal for the '<em><b>Field Id</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute FIELD__FIELD_ID = eINSTANCE.getField_FieldId();

    /**
     * The meta object literal for the '<em><b>Field Req</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute FIELD__FIELD_REQ = eINSTANCE.getField_FieldReq();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference FIELD__TYPE = eINSTANCE.getField_Type();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute FIELD__NAME = eINSTANCE.getField_Name();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference FIELD__VALUE = eINSTANCE.getField_Value();

    /**
     * The meta object literal for the '<em><b>Annotation</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference FIELD__ANNOTATION = eINSTANCE.getField_Annotation();

    /**
     * The meta object literal for the '<em><b>Fields</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference FIELD__FIELDS = eINSTANCE.getField_Fields();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.FunctionImpl <em>Function</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.FunctionImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getFunction()
     * @generated
     */
    EClass FUNCTION = eINSTANCE.getFunction();

    /**
     * The meta object literal for the '<em><b>Function Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference FUNCTION__FUNCTION_TYPE = eINSTANCE.getFunction_FunctionType();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute FUNCTION__NAME = eINSTANCE.getFunction_Name();

    /**
     * The meta object literal for the '<em><b>Fields</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference FUNCTION__FIELDS = eINSTANCE.getFunction_Fields();

    /**
     * The meta object literal for the '<em><b>Throws Decl</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference FUNCTION__THROWS_DECL = eINSTANCE.getFunction_ThrowsDecl();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.FunctionTypeImpl <em>Function Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.FunctionTypeImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getFunctionType()
     * @generated
     */
    EClass FUNCTION_TYPE = eINSTANCE.getFunctionType();

    /**
     * The meta object literal for the '<em><b>Oneway</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute FUNCTION_TYPE__ONEWAY = eINSTANCE.getFunctionType_Oneway();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute FUNCTION_TYPE__TYPE = eINSTANCE.getFunctionType_Type();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ThrowsImpl <em>Throws</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThrowsImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getThrows()
     * @generated
     */
    EClass THROWS = eINSTANCE.getThrows();

    /**
     * The meta object literal for the '<em><b>Fields</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference THROWS__FIELDS = eINSTANCE.getThrows_Fields();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ThrowsFieldImpl <em>Throws Field</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThrowsFieldImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getThrowsField()
     * @generated
     */
    EClass THROWS_FIELD = eINSTANCE.getThrowsField();

    /**
     * The meta object literal for the '<em><b>Field Id</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute THROWS_FIELD__FIELD_ID = eINSTANCE.getThrowsField_FieldId();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference THROWS_FIELD__TYPE = eINSTANCE.getThrowsField_Type();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute THROWS_FIELD__NAME = eINSTANCE.getThrowsField_Name();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.FieldTypeImpl <em>Field Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.FieldTypeImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getFieldType()
     * @generated
     */
    EClass FIELD_TYPE = eINSTANCE.getFieldType();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.DefinitionTypeImpl <em>Definition Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.DefinitionTypeImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getDefinitionType()
     * @generated
     */
    EClass DEFINITION_TYPE = eINSTANCE.getDefinitionType();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ContainerTypeImpl <em>Container Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ContainerTypeImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getContainerType()
     * @generated
     */
    EClass CONTAINER_TYPE = eINSTANCE.getContainerType();

    /**
     * The meta object literal for the '<em><b>Cpp Type</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute CONTAINER_TYPE__CPP_TYPE = eINSTANCE.getContainerType_CppType();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.MapTypeImpl <em>Map Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.MapTypeImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getMapType()
     * @generated
     */
    EClass MAP_TYPE = eINSTANCE.getMapType();

    /**
     * The meta object literal for the '<em><b>Map Type1</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MAP_TYPE__MAP_TYPE1 = eINSTANCE.getMapType_MapType1();

    /**
     * The meta object literal for the '<em><b>Map Type1 Annotation</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MAP_TYPE__MAP_TYPE1_ANNOTATION = eINSTANCE.getMapType_MapType1Annotation();

    /**
     * The meta object literal for the '<em><b>Map Type2</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MAP_TYPE__MAP_TYPE2 = eINSTANCE.getMapType_MapType2();

    /**
     * The meta object literal for the '<em><b>Map Type2 Annotation</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MAP_TYPE__MAP_TYPE2_ANNOTATION = eINSTANCE.getMapType_MapType2Annotation();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.SetTypeImpl <em>Set Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.SetTypeImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getSetType()
     * @generated
     */
    EClass SET_TYPE = eINSTANCE.getSetType();

    /**
     * The meta object literal for the '<em><b>Set Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference SET_TYPE__SET_TYPE = eINSTANCE.getSetType_SetType();

    /**
     * The meta object literal for the '<em><b>Set Type Annotation</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference SET_TYPE__SET_TYPE_ANNOTATION = eINSTANCE.getSetType_SetTypeAnnotation();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ListTypeImpl <em>List Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ListTypeImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getListType()
     * @generated
     */
    EClass LIST_TYPE = eINSTANCE.getListType();

    /**
     * The meta object literal for the '<em><b>List Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference LIST_TYPE__LIST_TYPE = eINSTANCE.getListType_ListType();

    /**
     * The meta object literal for the '<em><b>List Type Annotation</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference LIST_TYPE__LIST_TYPE_ANNOTATION = eINSTANCE.getListType_ListTypeAnnotation();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.BaseTypeRefImpl <em>Base Type Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.BaseTypeRefImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getBaseTypeRef()
     * @generated
     */
    EClass BASE_TYPE_REF = eINSTANCE.getBaseTypeRef();

    /**
     * The meta object literal for the '<em><b>Basic Type</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute BASE_TYPE_REF__BASIC_TYPE = eINSTANCE.getBaseTypeRef_BasicType();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ContainerTypeRefImpl <em>Container Type Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ContainerTypeRefImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getContainerTypeRef()
     * @generated
     */
    EClass CONTAINER_TYPE_REF = eINSTANCE.getContainerTypeRef();

    /**
     * The meta object literal for the '<em><b>Container Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference CONTAINER_TYPE_REF__CONTAINER_TYPE = eINSTANCE.getContainerTypeRef_ContainerType();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.DefinitionRefImpl <em>Definition Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.DefinitionRefImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getDefinitionRef()
     * @generated
     */
    EClass DEFINITION_REF = eINSTANCE.getDefinitionRef();

    /**
     * The meta object literal for the '<em><b>Definition</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference DEFINITION_REF__DEFINITION = eINSTANCE.getDefinitionRef_Definition();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ConstValueImpl <em>Const Value</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ConstValueImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getConstValue()
     * @generated
     */
    EClass CONST_VALUE = eINSTANCE.getConstValue();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.NumberRefImpl <em>Number Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.NumberRefImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getNumberRef()
     * @generated
     */
    EClass NUMBER_REF = eINSTANCE.getNumberRef();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.HexRefImpl <em>Hex Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.HexRefImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getHexRef()
     * @generated
     */
    EClass HEX_REF = eINSTANCE.getHexRef();

    /**
     * The meta object literal for the '<em><b>Hex</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute HEX_REF__HEX = eINSTANCE.getHexRef_Hex();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.LongRefImpl <em>Long Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.LongRefImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getLongRef()
     * @generated
     */
    EClass LONG_REF = eINSTANCE.getLongRef();

    /**
     * The meta object literal for the '<em><b>Long</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute LONG_REF__LONG = eINSTANCE.getLongRef_Long();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.DoubleRefImpl <em>Double Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.DoubleRefImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getDoubleRef()
     * @generated
     */
    EClass DOUBLE_REF = eINSTANCE.getDoubleRef();

    /**
     * The meta object literal for the '<em><b>Double</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute DOUBLE_REF__DOUBLE = eINSTANCE.getDoubleRef_Double();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.BooleanRefImpl <em>Boolean Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.BooleanRefImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getBooleanRef()
     * @generated
     */
    EClass BOOLEAN_REF = eINSTANCE.getBooleanRef();

    /**
     * The meta object literal for the '<em><b>Boolean</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute BOOLEAN_REF__BOOLEAN = eINSTANCE.getBooleanRef_Boolean();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.StringRefImpl <em>String Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.StringRefImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getStringRef()
     * @generated
     */
    EClass STRING_REF = eINSTANCE.getStringRef();

    /**
     * The meta object literal for the '<em><b>String</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute STRING_REF__STRING = eINSTANCE.getStringRef_String();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ConstListImpl <em>Const List</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ConstListImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getConstList()
     * @generated
     */
    EClass CONST_LIST = eINSTANCE.getConstList();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute CONST_LIST__VALUE = eINSTANCE.getConstList_Value();

    /**
     * The meta object literal for the '<em><b>List</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference CONST_LIST__LIST = eINSTANCE.getConstList_List();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.impl.ConstMapImpl <em>Const Map</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ConstMapImpl
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getConstMap()
     * @generated
     */
    EClass CONST_MAP = eINSTANCE.getConstMap();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute CONST_MAP__VALUE = eINSTANCE.getConstMap_Value();

    /**
     * The meta object literal for the '<em><b>V1</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference CONST_MAP__V1 = eINSTANCE.getConstMap_V1();

    /**
     * The meta object literal for the '<em><b>V2</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference CONST_MAP__V2 = eINSTANCE.getConstMap_V2();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.BaseType <em>Base Type</em>}' enum.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.BaseType
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getBaseType()
     * @generated
     */
    EEnum BASE_TYPE = eINSTANCE.getBaseType();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.thrift.thrift.BOOL <em>BOOL</em>}' enum.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.thrift.thrift.BOOL
     * @see de.thwildau.tm.moses.thrift.thrift.impl.ThriftPackageImpl#getBOOL()
     * @generated
     */
    EEnum BOOL = eINSTANCE.getBOOL();

  }

} //ThriftPackage
